package encome.work.service;

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.IService;

import encome.work.dao.Orders;

/**
 * @author fyftless
 */

public interface OrderService extends IService<Orders> {

    /**
     * 新增订单
     * @param order 订单
     */
    void add(Orders order);

    /**
     * 更新订单
     * @param order 订单
     */
    void update(Orders order);

    /**
     * 删除订单
     * @param id 订单id
     */
    void delete(Long id);

    /**
     * 多条件分页查询订单
     * @param order 订单
     * @param page  页码
     * @param pageSize 页容量
     * @return 分页信息
     */
    Page<Orders> findPage(Orders order, Integer page, Integer pageSize);

    /**
     * 根据id查询订单
     * @param id  订单id
     * @return  订单信息
     */
    Orders findById(Long id);

    /**
     * 默认分页查询订单
     * @param page  页码
     * @param pageSize  页容量
     * @return 分页信息
     */
    Page<Orders> findPage(Integer page, Integer pageSize);

    /**
     * 接单
     * @param id 订单id
     */
    void getOrder(Long id);

    /**
     * 取消接单
     * @param id 订单id
     */
    void cancelOrderReceived(Long id);

    /**
     * 取消下单
     * @param id 订单id
     */
    void cancelOrder(Long id);

    /**
     * 完成订单
     * @param id 订单id
     */
    void finishOrder(Long id);

    /**
     * 取药成功，正在返回
     * @param id 订单id
     */
    void getMedicine(Long id);

}
